#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <stdlib.h>

int main()
{


    // 进程的优先级， 可以通过nice的值来修改优先级，pri对应的数字越小，优先级越高，先执行，修改进程的优先级，只能通过修改nice的值，并且nice的值是 [-20, 19]， 操作系统不允许对优先级有太大的修改。
//
//    while(1)
//    {
//        printf("i am a process pid: %d\n", getpid());
//        sleep(1);
//    }
//







    // 孤儿进程 --- 父进程退出了，子进程还在跑， 此时没有父进程接收子进程的运行状态，所以操作系统将自己作为孤儿子进程的父进程，即: 此时孤儿进程的 ppid为 1 ，当关闭操作系统时，释放子进程资源
   // printf("i am a process pid: %d, ppid: %d\n", getpid(), getppid());

   // pid_t id = fork();

   // if(id == 0)
   // {
   //     while(1)
   //     {
   //         printf("我是子进程: pid: %d, ppid: %d\n", getpid(), getppid());
   //         sleep(1);
   //     }
   // }
   // else if(id > 0)
   // {
   //     int cnt = 5;
   //     while(cnt--)
   //     {
   //         printf("我是父进程: pid: %d, ppid: %d\n", getpid(), getppid());
   //         sleep(1);
   //     }
   //     exit(0);
   // }
   // else 
   // {
   //     //......
   // }



    // Z 僵尸状态 --- 子进程退出了， 父进程还在跑，这是父进程一直没有读取子进程的状态，子进程就一直处于僵尸状态
//
//    printf("i am a process pid : %d, ppid : %d\n", getpid(), getppid());
//
//    pid_t id = fork();
//
//    if(id == 0)
//    {
//        int cnt = 5;
//        while(cnt--)
//        {
//            printf("我是子进程: pid :%d, ppid : %d\n", getpid(), getppid());
//            sleep(1);
//        }
//        exit(0);
//    }
//    else if(id > 0)
//    {
//        while(1)
//        {
//            printf("我是父进程: pid : %d, ppid : %d\n", getpid(), getppid());
//            sleep(1);
//        }
//    }
//    else 
//    {
//        // .....
//    }
//





// T 状态， 停止状态
//    while(1)
//    {
//        printf("i am a process pid : %d\n", getpid());
//
//        sleep(1);
//    }
//






// S 状态 休眠状态

//    int cnt = 0;
//
//    scanf("%d", &cnt);
//
//    printf("%d", cnt);
//
//
    return 0;
}
